﻿using System.Linq;
using Utility.Persistence_Service;
using Utility.Persistence_Service.Implementations;

namespace Application_Core.Arbeitsplan_Component.Data_Access_Layer.Implementations
{
    internal class ArbeitsplanRepositoryImpl : RepositoryImpl<Arbeitsplan>, ArbeitsplanRepository
    {
        public ArbeitsplanRepositoryImpl(UnitOfWork unitOfWork)
            : base(unitOfWork) { }

        /// <summary>
        /// Gibt den Arbeitsplan zu einem Bauteil zurück.
        /// </summary>
        /// <param name="bauteilId">BauteilId</param>
        /// <returns>Arbeitsplan | null</returns>
        public Arbeitsplan FindByBauteilId(int bauteilId)
        {
            return (from a in this.unitOfWork.Query<Arbeitsplan>() where a.BauteilId == bauteilId select a)
                .FirstOrDefault() ?? null;
        }
    }
}
